// permet de cr�er un nouvel element html en pr�cisant directement les elements
// param�tres :
// - element : type de l'�l�ment � cr�er (div, span, input...)
// - options : tableau associatifs d'options permettant de sp�cifier directement les �ventuels caract�ristiques de l'�l�ment. Voici ceux g�r�s :
//   - el.type : type de l'�l�ment, utile notamment pour les input ('text', 'number', 'hidden'...)
//   - el.name : nom de l'�l�m�nt
//   - el.value : valeur de l'�l�ment
//   - el.textnode : fils � ajouter en tant que textNode
//   - el.childs : fils � ajouter, doit �tre un Array
//   - el.className : className de l'�l�ment
//   - el.src : src de l'�l�ment
//   - el.text : text de l'�l�ment
//   - el.style : style de l'�l�ment
//   - el.donnee : donn�es supl�mentaires qui vont aller dans l'objet � l'indice 'donnee'
function nouvelElement(element, options) {
	// cr�ation de l'�l�ment
	var el = document.createElement(element);
	// attribution des valeurs pour l'�l�ment
	if(options != undefined) {
		if(options.type != undefined) el.type = options.type;
		if(options.name != undefined) el.name = options.name;
		if(options.value != undefined) el.value = options.value;
		if(options.textnode != undefined) {
			var leText = document.createTextNode(options.textnode);
			el.appendChild(leText);
			el.textnode = leText;
			el.changerTexte = function(s) {leText.nodeValue = s;}
		}
		if(options.childs != undefined) for(key in options.childs) el.appendChild(options.childs[key]);
		if(options.className != undefined) el.className = options.className;
		if(options.src != undefined) el.src = options.src;
		if(options.text != undefined) el.text = options.text;
		if(options.style != undefined) el.style = options.style;
		if(options.donnee != undefined) el.donnee = options.donnee;
	}
	// ajout de fonctions supl�mentaire
	ajouterFonctionsComplementaires(el);
	// on retourne l'�l�ment
	return el;
}

// ajoute des fonctions compl�mentaire utile � l'�l�ment html pass� en param�tres
function ajouterFonctionsComplementaires(html_el) {
	// permet d'ajouter un ensemble d'enfants sous forme de tableau
	if(!html_el.appendChilds) {
		html_el.appendChilds = function(arr) {
			for(k in arr) {
				html_el.appendChild(arr[k]);
			}
		}
	}
	// permet de supprimer tout les enfants
	if(!html_el.clearChilds) {
		html_el.clearChilds = function() {
			while (html_el.firstChild) {
				html_el.removeChild(html_el.firstChild);
			}
		}
	}
}
